2024-06-29 Status in Windows Taskleiste signalisieren - StateClicker
StateClicker: Ein Icon in der Taskleiste, welches einem durch verschiedenen Farben etwas signalisieren kann. Durch Anklicken des Icons kann einen Befehl ausgeführt werden.
Download: StateClicker-bin-V1.0.1.zip
Download: StateClicker-src-V1.0.1.zip
Die StateClicker.exe sucht, im aktuellen Verzeichnis, immer nach einer StateClicker.ini. Die INI-Datei definiert welches Icon in der Taskleiste angezeigt wird, ob und welcher Befehl beim Parameterlosen starten der EXE ausgeführt werden soll, ob und welcher Befehl beim klicken des Taskleisten-Icons ausgeführt werden soll und ob und welcher Befehl beim beenden der EXE ausgeführt werden soll. Ist keine INI-Datei vorhanden, wird beim ausführen gefragt, ob sie angelegt werden soll.
Genauer gesagt, wird immer nach einer INI-Datei gesucht, die denselben Namen wie die EXE trägt. Dadurch können beliebige Konfigurationen vorgehalten werden.
Dies sind die möglichen Optionen der INI-Datei. Alle Angaben sind Optional.
IconPath=
IconID=
OnStartupCmd=
OnSelectingCmd=
OnExitCmd=
IconPath: Pfad zu einer EXE-, ICO- oder DLL-Datei, um das dort enthaltene Icon zu verwenden.
IconID: Eine DLL kann mehrere Icons enthalten. Die ID gibt an welches Icon genau gemeint ist. (Mit EXE-Dateien funktioniert das leider nicht.)
Zum Beispiel:
OnStartupCmd: Der Befehl der, von der ersten Instanz der StateClicker.exe, soweit dieser keine Parameter übergeben wurden, ausgeführt wird.
OnSelectingCmd: Der Befehl der, beim klicken auf das Taskleisten-Icon der laufenden StateClicker.exe-Instanz, ausgeführt wird.
OnExitCmd: Der Befehl der, beim Beenden der StateClicker.exe, ausgeführt wird.
Die StateClicker.exe kennt folgende Parameter:
start
select
exit
none
flash
wait
green [1 - 100]
yellow [1 - 100]
red [1 - 100]
link
start und select erzwingen das Ausführen der OnStartupCmd- bzw. OnSelectingCmd-Befehle.
exit beendet StateClicker.exe.
none entfernt vorhandene Farbmarkierungen bereits laufender Instanzen bzw. startet StateClicker.exe ohne OnStartupCmd auszuführen.
flash läßt den Taskleisten-Eintrag kurzzeitig orange blinken und leuchtet dann dauerhaft orange.
wait zeigt eine pulsierend grüne Animation.
green, yellow oder red markieren den Taskleisten-Eintrag in der entsprechenden Farbe.
Den Farben darf ein Zahlenwert von 1 bis 100 folgen, um die Markierung entsprechend nur Teilweise durchzuführen.
link erzeugt, unter Berücksichtigung der IconPath- und IconID-Angabe aus der INI-Datei, eine Verknüpfung auf StateClicker.exe. Diese ist dazu gedacht, per Drag and Drop in die Taskleiste gezogen zu werden, um damit die Icon-Position dauerhaft festzulegen.
Anwendungsfall
Die Software habe ich für mich entworfen, nachdem ich mein Heimnetz überarbeitet hatte. Es besteht nun eine Trennung zwischen Anwender- und Administrationsnetz. Für Zugriff aufs Adminnetz brauche ich eine VPN-Verbindung. SateClicker zeigt mir einerseits den VPN-Status und läßt ihn mich andererseits durch einen einfachen Klick ändern.
VPN aus:
![VPN aus](VPNoff.png)
VPN an:
![VPN an](VPNon.png)
Fehler:
[Main]
IconPath=C:\Windows\system32\imageres.dll
IconID=171
OnStartupCmd=cmd /C rasdial | findstr tbapc.lan.aloof.de && StateClicker green || (StateClicker wait & rasdial tbapc.lan.aloof.de || StateClicker red)
OnSelectingCmd=cmd /C rasdial | findstr tbapc.lan.aloof.de && (StateClicker yellow & rasdial tbapc.lan.aloof.de /d) || (StateClicker wait & rasdial tbapc.lan.aloof.de || StateClicker red)
OnExitCmd=
Dank Reaktionen auf die Änderung des VPN-Zustands per Aufgabenplanung,
![Windows Aufgabenplanung](Aufgabenplanung.png)
wird auch dann der richtige Status angezeigt, wenn die VPN-Verbindung mit anderen Mitteln geändert wurde. Zum Beispiel:
⍈Homepage